﻿<!--/* 
* Copyright (c) 2010, The University of Texas at Austin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, 
* are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, 
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, 
* this list of conditions and the following disclaimer in the documentation and/or other materials 
* provided with the distribution.
*
* Neither the name of The University of Texas at Austin nor the names of its contributors may be 
* used to endorse or promote products derived from this software without specific prior written 
* permission.
* 
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/-->
<UserControl x:Class="Bio.Views.Structure.Editor.Views.SecondaryStructureEditorVisualComponentInspector"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:Visuals="clr-namespace:Bio.Views.Structure.Editor.Internal.Rendering.Visuals"
             xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
             xmlns:julmar="http://www.julmar.com/wpfhelpers"
             xmlns:Resources="clr-namespace:Bio.Views.Structure.Editor.Resources">
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <Resources:DataTemplates />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </UserControl.Resources>
    <Grid MinWidth="275"
          Margin="2">
        <ScrollViewer>
            <StackPanel>
                <StackPanel>
                    <Expander Header="Selected Nucleotide"
                              IsExpanded="True">
                        <ContentControl Content="{Binding Path=SelectedVisual}"
                                        ContentTemplate="{StaticResource NucleotideStructureElementPropertiesTemplate}"
                                        Foreground="{StaticResource TextBrush}"></ContentControl>
                    </Expander>
                    <Expander Header="Nucleotide Rendering Properties"
                              IsExpanded="True">
                        <ContentControl Content="{Binding Path=SelectedVisual}"
                                        ContentTemplate="{StaticResource NucleotideStructureElementRenderingPropertiesEditableTemplate}"
                                        Foreground="{StaticResource TextBrush}"></ContentControl>    
                    </Expander>
                    <StackPanel.Style>
                        <Style TargetType="{x:Type StackPanel}">
                            <Setter Property="StackPanel.Visibility" Value="Collapsed"></Setter>
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding Path=ElementSelectionMode}" Value="Nucleotide">
                                    <Setter Property="StackPanel.Visibility" Value="Visible"></Setter>
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                    </StackPanel.Style>
                </StackPanel>

                <StackPanel>
                    <Expander Header="Selected Base Pair"
                              IsExpanded="True">
                        <ContentControl Content="{Binding Path=SelectedVisual}"
                                        ContentTemplate="{StaticResource BasePairStructureElementPropertiesTemplate}"
                                        Foreground="{StaticResource TextBrush}"></ContentControl>
                    </Expander>
                    <Expander Header="Connector Rendering Properties"
                              IsExpanded="True">
                        <ContentControl Content="{Binding Path=SelectedVisual}"
                                        ContentTemplate="{StaticResource BasePairConnectorElementRenderingPropertiesEditableTemplate}"
                                        Foreground="{StaticResource TextBrush}"></ContentControl>
                    </Expander>
                    <Expander Header="Nucleotide Rendering Properties"
                              IsExpanded="True">
                        <ContentControl Content="{Binding Path=SelectedVisual}"
                                        ContentTemplate="{StaticResource NucleotideStructureElementRenderingPropertiesEditableTemplate}"
                                        Foreground="{StaticResource TextBrush}"></ContentControl>
                    </Expander>
                    <StackPanel.Style>
                        <Style TargetType="{x:Type StackPanel}">
                            <Setter Property="StackPanel.Visibility" Value="Collapsed"></Setter>
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding Path=ElementSelectionMode}" Value="BasePair">
                                    <Setter Property="StackPanel.Visibility" Value="Visible"></Setter>
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                    </StackPanel.Style>
                </StackPanel>

                <StackPanel>
                    <Expander Header="Selected Helix"
                              IsExpanded="True">
                        <ContentControl Content="{Binding Path=SelectedVisual}"
                                        ContentTemplate="{StaticResource HelixStructureElementPropertiesTemplate}"
                                        Foreground="{StaticResource TextBrush}"></ContentControl>    
                    </Expander>
                    <!--<Expander Header="Connector Rendering Properties"
                              IsExpanded="True">
                        <ContentControl Content="{Binding Path=SelectedVisual}"
                                        ContentTemplate="{StaticResource BasePairConnectorElementRenderingPropertiesEditableTemplate}"
                                        Foreground="{StaticResource TextBrush}"></ContentControl>
                    </Expander>
                    <Expander Header="Nucleotide Rendering Properties"
                              IsExpanded="True">
                        <ContentControl Content="{Binding Path=SelectedVisual}"
                                        ContentTemplate="{StaticResource NucleotideStructureElementRenderingPropertiesEditableTemplate}"
                                        Foreground="{StaticResource TextBrush}"></ContentControl>
                    </Expander>-->
                    <StackPanel.Style>
                        <Style TargetType="{x:Type StackPanel}">
                            <Setter Property="StackPanel.Visibility" Value="Collapsed"></Setter>
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding Path=ElementSelectionMode}" Value="Helix">
                                    <Setter Property="StackPanel.Visibility" Value="Visible"></Setter>
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                    </StackPanel.Style>
                </StackPanel>


                <StackPanel>
                    <Expander Header="Selected Strand"
                              IsExpanded="True">
                        <ContentControl Content="{Binding Path=SelectedVisual}"
                                        ContentTemplate="{StaticResource LoopStructureElementPropertiesTemplate}"
                                        Foreground="{StaticResource TextBrush}"></ContentControl>    
                    </Expander>
                    <!--<Expander Header="Nucleotide Rendering Properties"
                              IsExpanded="True">
                        <ContentControl Content="{Binding Path=SelectedVisual}"
                                        ContentTemplate="{StaticResource NucleotideStructureElementRenderingPropertiesEditableTemplate}"
                                        Foreground="{StaticResource TextBrush}"></ContentControl>
                    </Expander>-->
                    <StackPanel.Style>
                        <Style TargetType="{x:Type StackPanel}">
                            <Setter Property="StackPanel.Visibility" Value="Collapsed"></Setter>
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding Path=ElementSelectionMode}" Value="Strand">
                                    <Setter Property="StackPanel.Visibility" Value="Visible"></Setter>
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                    </StackPanel.Style>
                </StackPanel>
                
                <StackPanel>
                    <Expander Header="Selected Range"
                              IsExpanded="True">
                        <ContentControl Content="{Binding Path=SelectedVisual}"
                                        ContentTemplate="{StaticResource RangeStructureElementPropertiesTemplate}"
                                        Foreground="{StaticResource TextBrush}"></ContentControl>
                    </Expander>
                    <Expander Header="Connector Rendering Properties"
                              IsExpanded="True">
                        <ContentControl Content="{Binding Path=SelectedVisual}"
                                        ContentTemplate="{StaticResource BasePairConnectorElementRenderingPropertiesEditableTemplate}"
                                        Foreground="{StaticResource TextBrush}"></ContentControl>
                    </Expander>
                    <Expander Header="Nucleotide Rendering Properties"
                              IsExpanded="True">
                        <ContentControl Content="{Binding Path=SelectedVisual}"
                                        ContentTemplate="{StaticResource NucleotideStructureElementRenderingPropertiesEditableTemplate}"
                                        Foreground="{StaticResource TextBrush}"></ContentControl>
                    </Expander>
                    <StackPanel.Style>
                        <Style TargetType="{x:Type StackPanel}">
                            <Setter Property="StackPanel.Visibility" Value="Collapsed"></Setter>
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding Path=ElementSelectionMode}" Value="Range">
                                    <Setter Property="StackPanel.Visibility" Value="Visible"></Setter>
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                    </StackPanel.Style>
                </StackPanel>

                <StackPanel>
                    <Expander Header="Selected Domain"
                              IsExpanded="True">
                        <ContentControl Content="{Binding Path=SelectedVisual}"
                                        ContentTemplate="{StaticResource RangeStructureElementPropertiesTemplate}"
                                        Foreground="{StaticResource TextBrush}"></ContentControl>
                    </Expander>
                    <Expander Header="Connector Rendering Properties"
                              IsExpanded="True">
                        <ContentControl Content="{Binding Path=SelectedVisual}"
                                        ContentTemplate="{StaticResource BasePairConnectorElementRenderingPropertiesEditableTemplate}"
                                        Foreground="{StaticResource TextBrush}"></ContentControl>
                    </Expander>
                    <Expander Header="Nucleotide Rendering Properties"
                              IsExpanded="True">
                        <ContentControl Content="{Binding Path=SelectedVisual}"
                                        ContentTemplate="{StaticResource NucleotideStructureElementRenderingPropertiesEditableTemplate}"
                                        Foreground="{StaticResource TextBrush}"></ContentControl>
                    </Expander>
                    <StackPanel.Style>
                        <Style TargetType="{x:Type StackPanel}">
                            <Setter Property="StackPanel.Visibility" Value="Collapsed"></Setter>
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding Path=ElementSelectionMode}" Value="Domain">
                                    <Setter Property="StackPanel.Visibility" Value="Visible"></Setter>
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                    </StackPanel.Style>
                </StackPanel>

                
            </StackPanel>
            
            <ScrollViewer.Style>
                <Style BasedOn="{StaticResource {x:Type ScrollViewer}}"
                       TargetType="{x:Type ScrollViewer}">
                    <Setter Property="ScrollViewer.Visibility" Value="Visible"></Setter>
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding Path=ElementSelectionMode}" Value="None">
                            <Setter Property="ScrollViewer.Visibility" Value="Collapsed"></Setter>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </ScrollViewer.Style>
        </ScrollViewer>
    </Grid>
</UserControl>
